Skip to content

Conversation

@theRealThagomizer
Copy link
Contributor

Hi, Lara! I hope you and your family have/had a wonderful holiday weekend. I've got a super minor PR here that adds a sentence clarifying how the nature of the Invoicing Policy setting works, per this task: https://www.odoo.com/odoo/action-4043/3705841. I also cleaned up the the align:center tags while I was in there. I'm anticipating some merge conflicts further down the line this one, since I think both Megan and I have worked on the invoicing policy page in the past few weeks. Thank you!

This 17.0 PR can be FWP up to master.

@robodoo
Copy link
Collaborator

robodoo commented Nov 26, 2025

Pull request status dashboard

@C3POdoo C3POdoo requested a review from a team November 26, 2025 23:36
Copy link
Contributor

@larm-odoo larm-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @theRealThagomizer - just a few comments, mostly about the app names and the images. Many are optional, so tag me for a quick look before moving on to ZST.Also, there is a build error with one of the images, so just double-check that it works. Thanks!

Invoicing policy features
=========================

To activate the necessary invoicing policy features, go to :menuselection:`Sales app -->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't comment on line 7, but Sales should be Sales, since apps are all bold.

=========================

To activate the necessary invoicing policy features, go to :menuselection:`Sales app -->
Configuration --> Settings`, and under the :guilabel:`Invoicing` heading, select an
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In lines 10-11, is "materials, liquids, or foods' necessary? Or could it just be "businesses that sell large quantities of items, where the orddered quantity may differ from the delivered quantity."

Just seems odd unless there's a specific reason.

Also, i recommenda dding an example admonition to showcase the reason. Like :

Example: A company sells fresh produce. A customer buys 50 heads of lettuce, but there are only 48 available heads when delivery is made. The customer only received 48, then 2 later. So you can explain that they are invoiced for the 48, and then invoiced separately for the additional 2 after they are received.

Just an idea!

Comment on lines 22 to 23
delivered`. This automatically applies the chosen invoicing policy rule to all newly created
products. Existing products must have their invoicing policy updated on their product forms.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
delivered`. This automatically applies the chosen invoicing policy rule to all newly created
products. Existing products must have their invoicing policy updated on their product forms.
delivered`.
This automatically applies the chosen invoicing policy rule to all *newly* created
products. *Existing* products **must** have their invoicing policy updated on their product forms.

Just to emphasize this distinction - this is majorly important. Also, if there is a good place to link the text "updated on their product forms: - I would add that.

:alt: How to change invoicing policy on a product form on Odoo Sales.

Impact on sales flow
====================
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 46 : Sales

.. warning::
If a user attempts to create an invoice without validating the delivered quantity, the following
error message appears: :guilabel:`There is no invoiceable line. If a product has a Delivered
quantities invoicing policy, please make sure that a quantity has been delivered.`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

54056 - app names should be bold.

:alt: How to see delivered and invoiced quantities on Odoo Sales.

Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and
:guilabel:`Invoiced`, even if it's a partial delivery, when the quotation is confirmed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seealso is typically just the doc, no intro sentence needed

:alt: How to see your delivered and invoiced quantities on Odoo Sales.
:alt: How to see delivered and invoiced quantities on Odoo Sales.

Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can link to the specific related doc sections for the various create an invoice options: Regular invoice, Down payment (percentage) or Down payment (fixed amount).

error message appears: :guilabel:`There is no invoiceable line. If a product has a Delivered
quantities invoicing policy, please make sure that a quantity has been delivered.`

.. image:: invoicing_policy/invoicing-policy-error-message.png
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find it odd that both the columns display "0"- Is this normal? Wouldn't we want to show a difference, delivered X and ordered Y? Just looks off. Also, remove the arrows.

@theRealThagomizer theRealThagomizer force-pushed the 17.0-sales-invoicing-policy-clarification-thjud branch from a72e6d5 to 8d645e6 Compare December 2, 2025 00:50
@theRealThagomizer
Copy link
Contributor Author

Hiya, @larm-odoo! I went through your feedback and implemented pretty much everything. The only note that didn't make it was around linking to specific sections in a related doc, since I actually removed the bit that mentioned specific invoicing policies (I figured it was less germane to the overall subject of invoicing delivered vs. ordered quantities.)

I also went through the document and rewrote large sections of it and replaced all of the outdated images. It's fairly different from how it was previously, so it could definitely stand another review. Thank you!

Copy link
Contributor

@larm-odoo larm-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @theRealThagomizer - great job with the updates! I had a few more comments and some things that were missed (a bold app name for example). I also had a couple suggestions on the images.

I did think that it could be organized as follows:

Intro (with a link to the two different policy options)
Invoice on Ordered

  • Setting it on the form
  • Workflow
  • example

Invoice on Delivered

  • Setting it on the form
  • Workflow
  • example

Each "-" is a sub-section of the above section. Just an option, would make the doc longer, but you'd have everything for each option in one section, together. But that is a big rearrangement. I didn't think of it till now- sometimes I don't think/see things till after one round of edits, so I apologize. This is just a suggestion and can be ignored.

Whatever route you chose, one more round and we'll be good to go!

Comment on lines 5 to 8
Being able to have different invoicing options provides more flexibility. Different business
policies might require different options for invoicing. Odoo has too invoicing options to allow
businesses to make the best choice for their needs: *Invoice what is ordered* and *Invoice what is
delivered*.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Being able to have different invoicing options provides more flexibility. Different business
policies might require different options for invoicing. Odoo has too invoicing options to allow
businesses to make the best choice for their needs: *Invoice what is ordered* and *Invoice what is
delivered*.
Since businesses follow different policies and workflows, the Odoo **Sales** app offers two different invoicing options to give each company the flexibility to invoice in the way that best fits its needs:
- *Invoice what is ordered*: This is the default option, where customers are invoiced once the sales order is confirmed.
- *Invoice what is delivered*: This option invoices customers once products are delivered. This rule is
often used for businesses that sell large quantities of physical goods in each sales order. In
these cases, the ordered quantity may differ slightly from the delivered quantity based on product
availability.

I would have the example go beneath and nested in with the example.

This is just a suggestion, to just make them stand out more clearly and get irght into it up front =)
I couldn't edit the lines below for some reason, so just remove everything after the above, until the example.

Comment on lines 18 to 21
A produce distributor using the invoice what is delivered rule sells 50 heads of lettuce to a
restaurant. At the time the delivery is made, only 48 heads are available. The restaurant is
invoiced for the 48 heads that are delivered, and later receives a second invoice for the
remaining 2 heads when the distributor is able to complete the order.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A produce distributor using the invoice what is delivered rule sells 50 heads of lettuce to a
restaurant. At the time the delivery is made, only 48 heads are available. The restaurant is
invoiced for the 48 heads that are delivered, and later receives a second invoice for the
remaining 2 heads when the distributor is able to complete the order.
A produce distributor using the *invoice what is delivered* rule sells 50 heads of lettuce to a
restaurant. At the time the delivery is made, only 48 heads are available. The restaurant is
invoiced for the 48 heads that are delivered, and later receives a second invoice for the
remaining two heads when the distributor is able to complete the order.

I beieve we write out numbers under ten (maybe twenty)? Also, is this a "rule" or an "option"? Just want to be sure the right word is used. I didn't think of this yesterday!

To activate the necessary invoicing policy features, go to :menuselection:`Sales app -->
Configuration --> Settings`, and under the :guilabel:`Invoicing` heading, select an
:guilabel:`Invoicing Policy` rule: :guilabel:`Invoice what is ordered` or :guilabel:`Invoice what is
delivered`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again - I think this is an "option" rather than a "rule". I only say this, since in Payroll, there are rules, which work a specific way, as opposed to options you select. So the wording is important - if this is a "rule" or an "option". From looking at it, I THINK its an option - but you can check with the developers or osmeone with more knoelwdge of sales, if it is in fact a "rule".

If we didn't have "rules" in the database that affect my app scopoe, I woudlnt' even have htought about this =D

Comment on lines 36 to 38
Activating an invoicing policy rule automatically applies the chosen policy rule to all newly
created products. Any existing products **must** have their invoicing policy manually updated on
their product forms. Additionally, if the :guilabel:`Invoice what is delivered` rule is chosen,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Activating an invoicing policy rule automatically applies the chosen policy rule to all newly
created products. Any existing products **must** have their invoicing policy manually updated on
their product forms. Additionally, if the :guilabel:`Invoice what is delivered` rule is chosen,
Activating an invoicing policy rule automatically applies the chosen policy rule to all newly
created products.
Any existing products **must** have their invoicing policy manually updated on
their product forms. Additionally, if the :guilabel:`Invoice what is delivered` rule is chosen,

Just more visual emphasis

In Odoo *Sales*, the basic sales flow starts with the creation of a quotation. Then, that quotation
is sent to a customer. Next, it needs to be confirmed, which turns the quotation into a sales order.
This, in turn, creates an invoice.
In Odoo *Sales*, the basic sales flow starts with the creation of a quotation that is sent to a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In Odoo *Sales*, the basic sales flow starts with the creation of a quotation that is sent to a
In Odoo **Sales**, the basic sales flow starts with the creation of a quotation that is sent to a

needs to be manually entered on the sales order. Alternatively, the **Inventory** app can be
installed and used to confirm the delivered quantity before creating an invoice.

.. warning::
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the warning is only referencing the second bullet point, I woudl have this nexted under that bullet point (just indent it 2 spaces each line)

:alt: How to see your delivered and invoiced quantities on Odoo Sales.
Once a quotation is confirmed, and the status changes from :guilabel:`Quotation sent` to
:guilabel:`Sales order`, the delivered and invoiced quantities are available to view, directly from
the sales order. This is true for both invoicing policy rule options.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, check if this is a rule or just an option.


Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and
:guilabel:`Invoiced`, even if it's a partial delivery, when the quotation is confirmed.
.. image:: invoicing_policy/invoicing-policy-order-lines.png
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see "Invoiced quantity" as zero. Wouldn't we want to see this as 12?

Also, for this example. it might be good ot see delivered "8", ordered "12" and "invoiced 8" to see what you'd expect to see. Also, I woudl move this below, so there is no tet beneath it - then the image will match all the text above. I try to ensure images are at the end of a section fo text, with nothing beneath it - so people don't think they are done with whatever the steps are. Kind of like a hard stop, "This is whta it looks like if you did everything right" (Of course, for all the important steps in between, I woudl addd more, but in general, if only one image is needed, I ususally put it at the end, amnd make sure all the info in the text above is what is sohwn, which is why I suggest aving osmehting in the "invoices" section)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this image, you could crop out the right and lower side, so you just see the important part - example:
image
(I couldnt get the drop down to show, but you get the idea!=) I zoom in to make sure everythign is as big as it can be, before cropping or resizing)

@theRealThagomizer theRealThagomizer force-pushed the 17.0-sales-invoicing-policy-clarification-thjud branch from 8d645e6 to bf3262d Compare December 3, 2025 22:16
@theRealThagomizer
Copy link
Contributor Author

Hi, @larm-odoo! This is ready for another look. The invoicing policy page has been more or less completely rewritten at this point using the outline you suggested as a guide. Let me know what you think! Thank you!

Copy link
Contributor

@larm-odoo larm-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EXCELLENT rework, @theRealThagomizer! I am approving now, since most of the comments are small nitpicks/improvements. The only necessary changes are to rename the subheads so there are no italics. Approving, because you got this!

If a user attempts to create an invoice without validating the delivered quantity, the following
error message appears: :guilabel:`There is no invoiceable line. If a product has a Delivered
quantities invoicing policy, please make sure that a quantity has been delivered.`
Using *On order* invoicing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe we want to use any italics in a heading/sub-heading. You can change this to just "Workflow" or "Invoice ordered quantity workflow".

Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and
:guilabel:`Invoiced`, even if it's a partial delivery, when the quotation is confirmed.
This invoicing policy has a minor impact on the sales flow because the delivered quantity of a
product needs to be manually entered on the sales order. Alternatively, the **Inventory** app can be
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
product needs to be manually entered on the sales order. Alternatively, the **Inventory** app can be
product needs to be manually entered on the sales order.
Alternatively, the **Inventory** app can be

I think this can be a Tip - so if I understand correctly, if they have the Inventory app, they don't really need to update the quantities- it is updated automatically when delivered? I'd elaborate that, just so people know,. It sound slike a tip because if they have Inventory, there's less to do/it's more automated? Disregard if I am incorrect!

.. image:: invoicing_policy/invoicing-policy-order-lines.png
:alt: How to see delivered and invoiced quantities on Odoo Sales.

Using *On delivery* invoicing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the same concept as the previous "use case" section - whatever you decide!

Co-authored-by: Lara Martini <larm@odoo.com>
@theRealThagomizer theRealThagomizer force-pushed the 17.0-sales-invoicing-policy-clarification-thjud branch from 0aee4b5 to 8cd7f04 Compare December 4, 2025 19:21
@theRealThagomizer theRealThagomizer added 5 and removed 3 labels Dec 4, 2025
@theRealThagomizer theRealThagomizer changed the title [IMP] Sales: Minor invoicing policy clarification [IMP] Sales: Invoicing policy page rewrite Dec 4, 2025
@theRealThagomizer
Copy link
Contributor Author

Thanks for everything, @larm-odoo! @StraubCreative, this is ready for your review. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants